perm filename PAPERA.12[DOC,TOB]1 blob
sn#028320 filedate 1973-03-02 generic text, type T, neo UTF8
00100 COMPUTER VISION
00200
00300 Thomas O. Binford, Stanford University
00400 and
00500 Jay M. Tenenbaum, Stanford Research Institute
00600
00700
00800 Introduction
00900
01000 "Intelligent" computers require knowledge of their environment, and
01100 the most effective means of acquiring such knowledge is by seeing.
01200 Vision opens a new realm of computer applications. Weather analysis
01300 from cloud maps and medical diagnosis from x-rays and blood cell
01400 counts are two of many high volume data processing tasks that require
01500 pictorial input. Man-machine communication will be facilitated if a
01600 person can directly show the computer a real object, rather than
01700 describe it symbolically. Designers, for example, could then easily
01800 obtain a computerized structural analysis of scale models.
01900
02000 A particularly exciting area of application is industrial automation.
02100 Today in industry there are hundreds of machines called industrial
02200 robots. These programmable manipulators can repetitively execute a
02300 precise sequence of motions, but have no sensors and are thus unable
02400 to react dynamically to contingencies. Simple sensors and a
02500 minicomputer could, at slight additional cost, turn these
02600 manipulators into true robots. With primitive visual skills,machines
02700 could align mating parts in assembly operations, increase reliability
02800 by self-calibration, detect flaws, and avoid disasters. Vision will
02900 also minimize the present need for precise positioning of parts at
03000 each work station; parts could instead be transported in a bin and
03100 picked out as needed.
03200
03300 The study of perception also provides valuable insights into human
03400 and machine information processing. Many of the problems encountered
03500 are fundamental to intelligent activity. For example, how is
03600 knowledge represented? How does knowledge provide guidance in
03700 drawing conclusions from perceptual data? How does existing
03800 knowledge interact with conclusions drawn from an image to acheive
03900 learning? Questions that arise in the implementation of vision
04000 systems have broad relevance to computer science: How shoulc a
04100 complex task be partitioned into modules? How should the modules
04200 communicate to share their knowledge and special capabilities? How
04300 should systems with highly interdependent modules be structured to
04400 facilitate modification?
04500
04600 Techniques developed for machine perception cannot be taken literally
04700 as models for biological systems because of differences in hardware
04800 and gaps in our knowledge. However, fundamental limitations are
04900 shared, suggesting that some of the principles might also be found in
05000 nature. Computer vision research may, in turn, occasionally borrow
05100 from biology, but we cannot copy nature, since again, the details are
05200 not yet known and the hardware is different.
05300
05400
05500 Historically, computer vision emerged from the study of two
05600 dimensional pattern recognition. However, it is seldom possible to
05700 apply the mathematical formalisms developed for classification to the
05800 analysis of real scenes. Consider the visual requirements for an
05900 organism such as a robot. It must manipulate or avoid objects, not
06000 just classify them. Manipulation requires three-dimensional
06100 interpretations and spatial relations of objects. In problems such
06200 as character recognition, it was attractive to simply save images or
06300 feature vectors, and then match against an image or part of an image.
06400 But in real scenes, objects occlude one another, they have parts with
06500 joints that move separately, there are many viewpoints, many possible
06600 objects, and many combinations of objects. Object classes, moreover,
06700 are often defined by function, not shape (e.g., the class of coffee
06800 cups). Direct template matching techniques are impractical for
06900 these requirements, except in very carefully controlled applications.
07000 Perception involves complex deductions in order to understand an
07100 image in terms of a priori knowledge of the world.
07200 ELEMENTS OF A VISUAL SYSTEM
07300
07400 The computer eye is usually some form of TV camera with color filters
07500 and a turret or zoom lens for closeup views. The computer
07600 controls filters, lens and other parameters to optimize the image for
07700 each task [1]. A recent study has suggested alternative sensors to
07800 overcome the inadequate dynamic range of television systems [2].
07900 Range information greatly simplifies the interpretation of scenes.
08000 Humans use depth information obtained from stereo and a variety of
08100 inferred cues such as motion parallax and the size of known objects.
08200 Since these techniques require subtantial processing, it is easier
08300 for machines to obtain depth by direct measurement. Several depth
08400 sensors based on triangulation have been built [3, 4].
08500
08600 A TV image is read into memory as an array of brightness values
08700 (typically 300x300) with 4 to 8 bits for each sample for each color.
08800 Computer vision can be thought of as the process of transforming this
08900 mass of numbers into a symbolic description. The translation process
09000 can be subdivided into segmentation, representation, and
09100 interpretation.
09200
09300 The process of segmentation partitions a scene into meaningful
09400 entities that may be recognizable. Segmentation in character
09500 recognition is simple, since printed characters are spatially
09600 separated and have high contrast with white paper. It is harder to
09700 segment objects in a real scene (even simple scenes) since objects
09800 may overlap and will not usually be separable from the local
09900 background by a single attribute like brightness contrast. Instead,
10000 segmentation must proceed by seeking regions of uniform brightness,
10100 color, or texture (itself a complex descriptor), or regions with
10200 regular boundaries. Segmentation may also depend on inferred depth
10300 cues (e.g., texture gradients or suspected occlusion).
10400
10500 In what form can we represent objects internally in the computer? The
10600 simplest form is a pictorial template, an array of brightness values
10700 to be matched directly against fragments of scenes by correlation.
10800 Given the inadequacies of this representation, we must describe
10900 partitioned regions symbolically in terms of extracted features such
11000 as color, size, texture, and shape. These properties must be
11100 inferred from the image by complex processes. Simple descriptors for
11200 shape or texture may be used in simple tasks and limited context.
11300 Shape might be described by the ratio of the squared perimeter to the
11400 area of a region. More sophisticated shape representations, needed
11500 for a wider range of tasks, are described later.
11600
11700 Interpretation is often expressed as computing a distance measure
11800 between an object and a stored model. For simple cases that approach
11900 can be useful. When objects are occluded, there must be a partial
12000 match. When objects are not identical, judgments of similarity depend
12100 on representation of shape and representation of the task, in order
12200 to define important differences. The most useful approach is to
12300 build up symbolic descriptions and make symbolic descriptions of
12400 differences. Sometimes there are sufficiently few models that
12500 matching with each model is possible. More generally, the observed
12600 features must first be used to retrieve likely models from a large
12700 visual memory.
12800
12900 The integration of segmentation, representation and interpretation to
13000 achieve perception is illustrated by a system built at the University
13100 of Edinburgh [5] that can recognize a small set of ordinary objects
13200 such as pencils, eyeglasses and teacups. Objects are presented
13300 against a contrasting background. Segmentation is achieved by
13400 partitioning the scene into regions of uniform brightness. Objects
13500 are represented by relational graphs detailing gross attributes
13600 (e.g., size and shape) of their principal regions and pairwise
13700 constraints between these regions (e.g., above, larger than).
13800 Interpretation is accomplished by mapping the relational graph
13900 descriptions of known objects onto the segmented regions obtained
14000 from the scene, and seeking the best match.
14100
14200 Experience with early bottom-up systems of this type led to the
14300 realization that the three basic processes of a perceptual system
14400 were highly interdependent; one cannot proceed sequentially through
14500 segmentation, representation, and interpretation and expect to obtain
14600 a globally consistent interpretation for all objects in a scene. One
14700 problem is that no reliable basis exists for judging the global
14800 significance of segmentation boundaries using local similarity
14900 criteria. Segmentation must be guided by interpretation to choose
15000 among many alternative partitionings, the alternative that leads to a
15100 globally consistent and reasonable description of the scene. A nice
15200 exposition of these ideas is given by Minsky [6].
15300
15400 BLOCKS WORLD
15500
15600 To avoid some of these difficulties, research concentrated initially
15700 on scenes of toy blocks. Roberts' [7] important work opened the
15800 field. Objects were represented as built up of three primitive
15900 parts, a block, a wedge, and a hexagonal prism. The program assumed
16000 that it would first obtain perfect line drawings. Interpretation
16100 meant choosing a stored three-dimensional model which, after
16200 translation, rotation, and scaling, could be projected to match part
16300 of the image. The recognized piece was then cut away and the
16400 remainder considered. Primitives were represented by their vertices
16500 in three dimensions. To decide on likely image points that belonged
16600 to a single body, the program attempted to identify unobscured
16700 polygons, and then match sets of vertices to topologically similar
16800 model vertices. Line drawings were formed by a sequence of local
16900 operations. Candidate edge points were considered by thresholding
17000 the gradient of intensity. Isolated edge points were discarded.
17100 Connected line fragments were concatenated into lines that were
17200 segmented at corners by a sequential least squares line fit. Merging
17300 of collinear lines bridged some gaps.
17400
17500 That system organization has proven inadequate. It is not enough to
17600 use models and template matching. Producing perfect line drawings is
17700 not practical. Some lines are missed; shadows, reflections and
17800 surface markings cause extra lines; errors made at one stage are
17900 compounded by later stages. These deficiencies motivated subsequent
18000 research.
18100
18200 Guzman [8] found it possible to segment complex scenes into objects
18300 without template matching, by observing that some vertices give local
18400 evidence that adjacent regions belong to the same body. In Figure 1,
18500 vertices A,B,C,E,G,H and I give evidence that adjacent regions belong
18600 to the same body, while vertex F does not. Vertex D, which resembles
18700 G, gives misleading evidence. To avoid such coincidences, the
18800 program required confirmation. Regions linked twice were joined
18900 into clusters; regions linked twice to a cluster were also joined.
19000 Regions linked only to a single cluster were also joined to that
19100 cluster. Eventually the program evolved to include inhibitions
19200 against certain links by requiring similar conditions at both ends of
19300 a line. Other links were introduced without much motivation.
19400
19500 This program was an important advance. Bodies could be segmented
19600 without recognition and without explicit models. The program did
19700 surprisingly well, but had problems with holes and other
19800 non-convexities, and with accidental alignment. being told the
19900 background. Guzman also could not cope well with imperfect line
20000 drawings. For example, in the case of Figure 2 his program would fail
20100 because a missing line makes region R3 common to both the block and
20200 wedge. Falk [9] was able to avoid some of the errors associated with
20300 missing boundaries by using an approach resembling Guzman's to link
20400 line segments likely to belong to the same object instead of regions.
20500
20600 The limited generality of both these programs was due to the fact
20700 that they were implemented as a collection of ad hoc heuristics for
20800 segmentation with no explicit understanding of line drawings. Thus,
20900 while Falk himself realized that regions like R3 were non-planer and
21000 could not arise in a scene containing only trihedral solids, his
21100 program could not reason at this level. Huffman [10] and Clowes [11]
21200 made theoretical analyses of objects with only trihedral vertices
21300 (three planes at each vertex). Using these analyses, edges could be
21400 classified at each vertex as convex, concave and obscuring. Some
21500 drawings could then be rejected as impossible if a given line was not
21600 consistently labeled at each end. Waltz [12] expanded that labeling
21700 of lines to include cracks and whether adjacent regions were shadowed
21800 or illuminated. Since each vertex could have many interpretations. it
21900 would seem that a search for consistent labelings would be
22000 unmanageable. Instead, the increased precision of descriptions
22100 allows rapid discarding of wrong interpretations. Not only are
22200 solutions possible, they are quickly obtained. Instead of a complete
22300 tree search, it was adequate to consider vertices in sequence,
22400 eliminating inconsistent interpretations as each new vertex was
22500 added. This produced all possible interpretations of a scene.
22600 However, other criteria can then be used to choose the most
22700 reasonable interpretation. A detailed survey of the work through
22800 Huffman appears in a recent text by Duda and Hart [13].
22900
23000
23100
23200
23300
23400 The best performance in extracting line drawings from television
23500 images of polyhedra is given by the Shirai [14] and the Binford-Horn
23600 [15] line finders. Shirai's system performs better, but requires
23700 large contrast between objects and background (e.g., white on black),
23800 and finds only features and objects for which cues are available from
23900 context. The Binford-Horn system is able to find most lines in a
24000 scene of white blocks on a white background in arbitrary lighting. It
24100 misses a few lines, which can usually be inferred from those that
24200 were found, and garbles some vertices. The two systems are
24300 complementary and should be combined.
24400
24500 The two programs are based on different principles. Shirai's program
24600 first found the outer boundaries of an object or cluster of objects.
24700 It then tried to guess additional lines that were parallel,
24800 perpendicular, or extensions to lines already found. Search for
24900 missing lines concentrated around vertices in the preliminary drawing
25000 where they would be most likely found. The use of context involved
25100 not changing thresholds, but using special-purpose operators--e.g.,
25200 verify a line at known position and angle; find a line through a
25300 vertex. Figure 3 illustrates the complexity of scenes handled by
25400 Shirai's program. The Binford-Horn system was intended to provide the
25500 base for a system such as Shirai's by providing a partial line
25600 drawing without special assumptions about the scene. It used a local
25700 directional edge operator and an optimal sequential decision process
25800 to group the edge points into continuous curves.
25900
26000 It is interesting to compare these systems with biological ones. The
26100 directional edge operators [16], which are scanned over the image,
26200 are analogous to the edge-detector cells discovered by Heubel and
26300 Wiesel[17] in higher animals. In practice, large brightness
26400 gradients at reflections and on curved surfaces cause masses of
26500 spurious edge fragments. Smooth gradients are eliminated by
26600 subtracting the local average at each point, a process similar to
26700 lateral inhibition in the retina of animals.
26800
26900
27000
27100 REAL-WORLD VISION
27200
27300
27400
27500 The blocks world illustrates many basic aspects of machine
27600 perception. However, since many critical problems encountered in
27700 perceiving real-world scenes do not arise in the blocks world, few of
27800 the techniques developed extend to the real-world domain. For
27900 example:
28000
28100 (1) The region-growing and edge-finding techniques developed for
28200 uniformly painted blocks cannot cope with the textures and variations
28300 of brightness that predominate in the real world.
28400
28500 (2) The precise topological descriptions that characterized simple
28600 polyhedra are inappropriate or unobtainable for complex real world
28700 objects such as trees.
28800
28900 (3) Interpretation by exhaustively matching all known prototypes
29000 against each segmented body is not feasible with large numbers of
29100 objects and cluttered scenes.
29200
29300 Description of simple polyhedral scenes was difficult enough; with
29400 these added obstacles, is there hope for success in perceiving the
29500 real world? Perception in the blocks world sought a complete
29600 description of everything present. It may not be possible (or even
29700 meaningful) to obtain exhaustive descriptions of real scenes.
29800 However, complete descriptions are seldom needed; a system is
29900 typically concerned with only a few objects required to complete a
30000 specific task.
30100
30200 For blocks, we restricted our programs to black and white images and
30300 distinguished structures of blocks solely on the basis of shape. In
30400 the real world, there is a tremendous redundancy of visual cues. We
30500 can use color, texture, depth, size, and surface orientation, as well
30600 as shape, whichever distinguishes a particular object most
30700 effectively.
30800
30900 Real-world objects are usually found in well defined contexts--e.g.,
31000 telephones are expected on tables but not in waste baskets.
31100 Recognition of a few prominent landmarks, combined with a priori
31200 knowledge of the environment can thus severely restrict what objects
31300 may be present in each part of the scene. While these objects may be
31400 difficult to describe, there will usually be sufficient cues
31500 available to discriminate easily among the alternatives. Often,
31600 very gross descriptions of complex attributes such as shape will
31700 suffice to discriminate among a limited number of grossly different
31800 alternatives (e.g., a person can be distinguished from a dog simply
31900 by the predominantly vertical orientation of a human body).
32000
32100 Real-world vision can be viewed as a strategy problem: Given a task,
32200 first decide where to look for objects of interest and then decide
32300 how to distinguish them from other objects that might also be
32400 present. The system must limit interpretations to a small subset of
32500 possible objects, selected on the basis of a priori expectations and
32600 crude descriptions of the scene. Segmentation can be based on
32700 attributes that are known to be uniform over these objects. The key
32800 problems of information overload are overcome by tightly coordinating
32900 segmentation and interpretation with world knowledge and task goals.
33000 The overload problem cannot be solved by merely building faster
33100 computers and bigger memories; hardware improvements will aid
33200 adequate techniques but do little for exhaustive techniques.
33300
33400 The principal work to date on real world vision has concentrated on
33500 segmentation and representation. Segmentation of textured scenes has
33600 been studies as a two-dimensional problem for agricultural and earth
33700 resource survey applications. Bajcsy [18] has analyzed outdoor
33800 scenes with perspective, where three-dimensional texture descriptions
33900 are important. Textures were described hierarchically in terms
34000 of simpler texture elements and their spatial relationships.
34100 Descriptors for texture elements and relations were derived from
34200 Fourier analysis. Typical attributes were directionality (if any),
34300 size, contrast, and spacing of texture elements. The Fourier
34400 transform was found troublesome,however, and color descriptors were
34500 added to improve performance. Some depth relations could be observed
34600 from texture gradient. An attempt was made to obtain consistent
34700 interpretations by first confirming region boundaries by independent
34800 properties, making three-dimensional interpretations, and matching
34900 region descriptors with those of sky, trees, grass, etc. in a world
35000 model.
35100
35200 The quality of interpretation was limited by unreliability of
35300 region-growing processes. Further work in outdoor scenes attempts to
35400 incorporate the world model and interpretation into the region
35500 growing process. Regions are merged not only because of similarity of
35600 properties, but because the consistency of semantic interpretation is
35700 improved.
35800
35900
36000 Typical robot tasks such as manipulation, collision avoidance,
36100 display, and recognition were analyzed to determine computational
36200 primitives required for descriptions of shape. Although some would
36300 disagree, our criteria for shape representation are [19]:
36400
36500 (1) Representations should be symbolic at a high level in order to
36600 interface with knowledge of the problem domain.
36700
36800 (2) Representations should depend on segmentation into parts, which
36900 may have sub-parts.
37000
37100 (3) Primitives should be three-dimensional volume descriptions,
37200 rather than surface descriptions, to allow a natural choice of parts.
37300
37400 (4) Descriptions should be generative. A modest collection of
37500 primitives should allow description of a vast set of objects.
37600
37700 We will outline one representation that fulfils these desiderata for
37800 a large class of curved objects. Objects are described in terms of
37900 components that are simple to describe, and the relationships of
38000 these parts. A useful shape primitive for many curved objects is an
38100 arbitrary space curve, and normal cross-sections along this axis
38200 (Figure 4). Snake-like objects, helices, toroids, and locally
38300 helical and toroidal shapes are naturally described [19]. Our basic
38400 definition of a simple piece is that the direction of its axis be
38500 continuous and that the cross-section function along that axis be
38600 continuous. We look for large changes in the cross-section, and
38700 consider them as likely places for segmenting the object. The
38800 segmentation process must be flexible and able to generate
38900 alternative propositions. A higher-level routine will ultimately
39000 select from the alternatives. Figure 5 shows an experimentally
39100 obtained computer description of a doll [3].
39200
39300 INDUSTRIAL APPLICATIONS
39400
39500 Recently, several laboratories have begun to apply techniques from
39600 perception research to practical industrial tasks. Stanford
39700 University has demonstrated simple assembly operations using vision
39800 and touch. General Motors laboratories has succeeded in mounting a
39900 wheel on an axle. Stanford Research Institute and Hitachi Ltd. have
40000 each demonstrated systems that can distinguish sheet metal parts on a
40100 moving conveyor belt and determine their orientation to enable
40200 manipulation. Template-matching techniques were used to take
40300 advantage of the two-dimensional nature of these tasks. Moreover, the
40400 conveyor demonstrations relied on the contrast between shiny metallic
40500 parts and the black belt to simplify segmentation. Many industrial
40600 processes share similar constraints or can be readily redesigned to
40700 do so. We thus expect a proliferation of industrial applications of
40800 computer perception in the near future.